package com.intretech.tj.mqtt.Source;

import io.vertx.mutiny.mqtt.MqttEndpoint;

import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;

/**
 * 客户端接口
 */
public interface EndpointInterface {
    /**
     * 客户端Map<br/>
     * key:客户端ID
     * value:客户端链接
     */
    Map<String, MqttEndpoint> endpointMap = new ConcurrentHashMap<>();

    /**
     * 获取所有客户端
     *
     * @return 客户端ID列表
     */
    List<String> getAllClient();

    /**
     * 新的客户端<br/>
     * 处理同名问题
     *
     * @param endpoint 客户端
     */
    void addEndpoint(MqttEndpoint endpoint);

    /**
     * 断开客户端
     */
    void removeEndpoint(String clientID);
}
